C++中^是什么意思?
来源:百度知道 编辑:UC知道 时间:2024/06/19 07:02:59
C++中^是什么意思?
21^2就是23
10^2就是8
那这到底是什么意思啊?
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
for(int i=-10;i<=10;i++){
int a=i^2;
cout<<i<<" "<<a<<endl;
}
system("pause");
return 0;
}
输出的结果我看不出什么规律,拜托各位解释的详细点……
21^2就是23
10^2就是8
那这到底是什么意思啊?
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
for(int i=-10;i<=10;i++){
int a=i^2;
cout<<i<<" "<<a<<endl;
}
system("pause");
return 0;
}
输出的结果我看不出什么规律,拜托各位解释的详细点……
C++的^是位异或操作符,两个二进制位如果不同,则位异或的结果是1,否则结果是0
换成二进制 再进行抑或
10的二进制:01010
2的二进制: 010
抑或结果:01000 即为十进制8
21的二进制:010101
抑或结果:010111 即为十进制23
你的明白?
按位异或
先换成二进制
21为10101
2为 00010
上下每位对比,不同的取1,相同的取0
结果10111,再换成十进制就是23
楼主搜一下C++的关键字,运算符,操作符,每个都弄懂,把基础打好。
你看看是不是“^”被重载了
二进制异或噻 搜一下